<!DOCTYPE html>
<html lang="zh">
{include file="public/head"}
<style>
.signin-form .has-feedback {
    position: relative;
}
.signin-form .has-feedback .form-control {
    padding-left: 36px;
}
.signin-form .has-feedback .mdi {
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    width: 36px;
    height: 36px;
    line-height: 36px;
    z-index: 4;
    color: #dcdcdc;
    display: block;
    text-align: center;
    pointer-events: none;
}
.signin-form .has-feedback.row .mdi {
    left: 15px;
}
</style>
</head>

<body class="center-vh">
<div class="card card-shadowed p-5 mb-0 mr-2 ml-2">
  <div class="text-center mb-3">
    <a href="javascript:void(0)"> <img alt="light year admin" src="{$site_info.logo}"> </a>
  </div>

  <form action="/admin/auth/login" method="post" class="signin-form needs-validation" novalidate>
    <div class="mb-3 has-feedback">
      <span class="mdi mdi-account" aria-hidden="true"></span>
      <input type="text" class="form-control" id="username" name="username" placeholder="用户名" required>
    </div>

    <div class="mb-3 has-feedback">
      <span class="mdi mdi-lock" aria-hidden="true"></span>
      <input type="password" class="form-control" id="password" name="password" placeholder="密码" required>
    </div>
    
    <div class="mb-3 has-feedback row">
      <div class="col-7">
        <span class="mdi mdi-check-all form-control-feedback" aria-hidden="true"></span>
        <input type="text" name="captcha" class="form-control" placeholder="验证码" required>
      </div>
      <div class="col-5 text-right">
        <img src="/admin/auth/captcha" class="pull-right" id="captcha" style="cursor: pointer;" onclick="this.src=this.src+'?d='+Math.random();" title="点击刷新" alt="captcha">
      </div>
    </div>
    <div class="mb-3 d-grid">
      <button class="btn btn-primary" type="submit">立即登录</button>
    </div>
  </form>
  
  <p class="text-center text-muted mb-0">{$site_info.copyright}</p>
</div>

{include file="public/script"}
<script type="text/javascript" src="/static/admin/js/lyear-loading.js"></script>

<script type="text/javascript">
var loader;
$(document).ajaxStart(function(){
    $("button:submit").html('登录中...').attr("disabled", true);
    loader = $('button:submit').lyearloading({
        opacity: 0.2,
        spinnerSize: 'nm'
    });
}).ajaxStop(function(){
    loader.destroy();
    $("button:submit").html('立即登录').attr("disabled", false);
});
$('.signin-form').on('submit', function(event) {
    if ($(this)[0].checkValidity() === false) {
        event.preventDefault();
        event.stopPropagation();
        $(this).addClass('was-validated');
        return false;
    }
    
    var $data  = $(this).serialize();
    
    $.post($(this).attr('action'), $data, function(res) {
        //if (res.code) {
        // 这里没有后端地址，就直接假设成功
        if (res.code == 200) {
            $.notify({
              message: '登录成功，页面即将跳转~',
          },{
              type: 'success',
              placement: {
                from: 'top',
                align: 'right'
              },
              z_index: 10800,
              delay: 1500,
                animate: {
                    enter: 'animate__animated animate__fadeInUp',
                    exit: 'animate__animated animate__fadeOutDown'
                }
          });
            setTimeout(function () {
                location.href = '/admin';
            }, 1500);
        } else {
            $.notify({
              message: '登录失败：' + res.msg,
          },{
              type: 'danger',
              placement: {
                from: 'top',
                align: 'right'
              },
              z_index: 10800,
              delay: 1500,
                animate: {
                    enter: 'animate__animated animate__shakeX',
                    exit: 'animate__animated animate__fadeOutDown'
                }
          });
            $("#captcha").click();
        }
    }).fail(function () {
        $.notify({
          message: '服务器错误',
      },{
          type: 'danger',
          placement: {
            from: 'top',
            align: 'right'
          },
          z_index: 10800,
          delay: 1500,
            animate: {
                enter: 'animate__animated animate__shakeX',
                exit: 'animate__animated animate__fadeOutDown'
            }
      });
    });

    return false;
});
</script>
</body>
</html>